package com.system.travel.modules.system.service;

import com.system.travel.common.base.BaseService;
import com.system.travel.modules.system.entity.SysRole;

import java.util.List;

/**
 * 系统角色Service接口
 *
 * @author lucas
 * @date 2024/01/01
 */
public interface SysRoleService extends BaseService<SysRole> {

    /**
     * 通过用户ID查询角色列表
     */
    List<SysRole> getRolesByUserId(Long userId);

    /**
     * 通过角色编码查询角色
     */
    SysRole getRoleByCode(String roleCode);

    /**
     * 更新角色状态
     */
    void updateStatus(Long roleId, Integer status);

    /**
     * 分配角色权限
     */
    void assignPermissions(Long roleId, List<Long> permissionIds);

    /**
     * 获取角色的权限ID列表
     */
    List<Long> getPermissionIds(Long roleId);
} 